package ar.edu.utn.frsf.tpae.a2014.g03.presentation.controller;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

import javax.faces.bean.ManagedBean;
import javax.faces.bean.ManagedProperty;
import javax.faces.bean.SessionScoped;

import ar.edu.utn.frsf.tpae.a2014.g03.persistence.model.Administrativo;
import ar.edu.utn.frsf.tpae.a2014.g03.persistence.model.Pedido;
import ar.edu.utn.frsf.tpae.a2014.g03.presentation.util.ServiceLocator;

@ManagedBean(name="consultaAdmBean")
@SessionScoped
public class ConsultaAdmBean implements Serializable {

	private static final long serialVersionUID = 994550601165345151L;
	@ManagedProperty(value="#{usuarioBean.usuario}")
	private Administrativo administrativo;
	private List<Pedido> listaPedidoSinAsignar;
	private Pedido selectedPedido;
	private Integer tamPedidoSinAsignar;
	
	public List<Pedido> getListaPedidoSinAsignar() {
		try{
			listaPedidoSinAsignar= new ArrayList<Pedido>();
			System.out.println("getPedidoSinAsignar....");
			listaPedidoSinAsignar = ServiceLocator.getPedidoService().findPedidosSinAsignar();
			setTamPedidoSinAsignar(listaPedidoSinAsignar.size());
			System.out.println("listaPedidoSinAsignar: "+ listaPedidoSinAsignar.size());
		}
		catch(RuntimeException e){
			System.out.println("Exception getListaPedidoSinAsignar "+e.getLocalizedMessage());
		}
		return listaPedidoSinAsignar;
	}
	
	public Boolean actualizar() {
		Boolean sucess = true;
		return sucess;
	}
	
	public String viewDialodAsignarTransportista(Pedido pedido) {
		System.out.println("viewDialodAsignarTransportista....");
		/*Map<String,Object> options = new HashMap<String, Object>();
        options.put("modal", true);
        options.put("draggable", false);
        options.put("resizable", false);
        selectedPedido= pedido;
		RequestContext.getCurrentInstance().openDialog("asignarTransportista.xhtml", options, null);*/
		selectedPedido= pedido;
		return "asignarTransp.xhtml";
    }
	
	public void setListaPedidoSinAsignar(List<Pedido> listaPedidoSinAsignar) {
		this.listaPedidoSinAsignar = listaPedidoSinAsignar;
	}

	public Integer getTamPedidoSinAsignar() {
		return tamPedidoSinAsignar;
	}

	public void setTamPedidoSinAsignar(Integer tamPedidoSinAsignar) {
		this.tamPedidoSinAsignar = tamPedidoSinAsignar;
	}

	public Pedido getSelectedPedido() {
		return selectedPedido;
	}

	public void setSelectedPedido(Pedido selectedPedido) {
		this.selectedPedido = selectedPedido;
	}

	public Administrativo getAdministrativo() {
		return administrativo;
	}

	public void setAdministrativo(Administrativo administrativo) {
		this.administrativo = administrativo;
	}
		
}
